1. Entrar
A organização te dá um usuário e uma senha — normalmente numa etiqueta colada na sua mesa. A prova tem endereço próprio; ao abri-lo você vê o nome da competição, os horários de início e término e o formulário:
2. A página da prova
Tudo o que você precisa está numa página só, nesta ordem: quem você é, os avisos, os arquivos, os problemas e as suas submissões.
| Aba | Para que serve |
|---|---|
| Contest | Esta página: problemas, enunciados, envio. |
| Score | O placar. |
| Clarification | Perguntar aos juízes, só durante a prova. O número ao lado é quantas respostas você ainda não leu. |
| Minhas submissões | As suas submissões numa página própria: filtro por problema, ordenação por coluna. A mesma tabela fica no fim da página do contest. |
| Backup | Uma gaveta sua no servidor: você guarda arquivos ali para não perder trabalho. Gravar só funciona durante a prova; ver e baixar, sempre. |
| 🖨️ Printing | Manda um arquivo para a impressora da equipe de sala — só existe se a prova tiver impressão. |
3. A sanfona
Cada problema é uma linha fechada. A setinha ▶ à esquerda quer dizer que há algo dobrado ali: clique na linha e ela abre — é isso que chamamos de sanfona. Clique de novo e fecha. Abrir uma não fecha as outras, então dá para deixar dois problemas abertos ao mesmo tempo.
Lá dentro, os três botões mudam o arranjo — e o MOJ lembra a sua escolha no próximo problema que você abrir:
| Botão | O que você vê |
|---|---|
| Side by side | Enunciado e editor juntos — é o padrão. |
| Statement only | O enunciado em largura cheia, para ler com calma. |
| Editor only | O editor em largura cheia, para escrever com calma. |
C 1 s, Java 2 s, Python 3 s. As
linguagens não recebem o mesmo limite — as mais lentas ganham mais tempo, medido na
máquina do juiz.
A/sample1.in, A/sample1.out…) num zip só, para você
rodar o seu programa neles antes de enviar. Na linha de comando, moj-comp fetch
já os deixa na pasta samples/ do kit.
Quando o enunciado vem em mais de um idioma
Nem todo contest oferece o enunciado em mais de um idioma. O enunciado existe no idioma em que o autor escreveu, e traduzir é escolha do autor; a maioria das provas tem um enunciado por problema e nenhum chip de idioma. Quando um problema tem tradução, aparecem os chips PT · EN · ES acima do enunciado, dentro da sanfona. Clique em um chip para trocar. A troca vale para todos os problemas da prova que têm aquele idioma, e o MOJ lembra a sua escolha. Os links HTML e PDF abrem no idioma escolhido. Um problema sem tradução mostra o texto em português — e não mostra chips.
Quando o enunciado é só PDF
Muita prova entrega só o caderno em PDF, sem versão HTML. Ali a linha tem apenas o link PDF, e a sanfona abre com o time limit (e o editor, se houver) e mais nada. Não é tela quebrada: o enunciado está no PDF, e é o PDF que você lê.
4. O editor nem sempre está lá
O editor do navegador é uma conveniência, não parte das regras — e a organização pode desligá-lo. Na Maratona SBC de Programação ele fica desligado: você escreve num editor da própria máquina, compila no terminal e envia o arquivo. E isso não é perda nenhuma — a imagem da prova vem cheia de editores, e se for o Maratona Linux você está muito bem servido: Vim, Emacs, VS Code, CLion e PyCharm — com os compiladores e o depurador já ajustados. Não conte com o editor do navegador antes de conferir.
5. Enviar uma solução
Há dois caminhos, e os dois terminam no mesmo botão Submit da linha do problema:
- Pelo arquivo — escolha o arquivo que você compilou e aperte Submit. O MOJ deduz a linguagem pela extensão. Para C++, use
.cpp,.cc,.cxxou.c++. - Pelo editor — escreva na sanfona, escolha a linguagem no seletor e aperte Submit. Há ainda Fullscreen e New window, para quando a divisão apertar.
.py para .c não contorna
restrição nenhuma, só faz a submissão ser recusada.
6. Ler o veredicto
Toda submissão cai na lista do fim da página, da mais nova para a mais velha:
src baixa de volta o
arquivo que você enviou.
A mesma tabela tem uma página própria: Minhas submissões, na barra de navegação. Ela filtra por problema, ordena por coluna e atualiza sozinha enquanto um veredicto está pendente — útil numa segunda aba enquanto você segue programando.
| Veredicto | O que aconteceu |
|---|---|
| Not Answered Yet | Ainda sendo julgada — ela gira sozinha; não precisa recarregar. |
| Accepted | Resolvido. A linha do problema lá em cima muda de cor. |
| Wrong Answer | Rodou, e a saída não é a esperada. |
| Time Limit Exceeded | Demorou mais que o problema permite. |
| Runtime Error | Quebrou durante a execução — segfault, divisão por zero, exceção. |
| Compilation Error | Nem compilou na máquina do juiz. |
log na linha; se ele não aparece, não há o que
pedir.
7. A cor do balão
Cada problema tem um balão de uma cor. No instante em que você o resolve, a linha do problema é pintada naquela cor, ganha o balão e a etiqueta ✔ solved — e, numa prova com equipe de sala, alguém leva um balão de verdade daquela cor até a sua mesa.
A paleta é a do ICPC e vai na ordem das letras — A branco, B preto, C vermelho, D bordô, E amarelo, F verde, G azul, H azul-marinho, e assim por diante. A cor não é enfeite: é o que faz a sala enxergar de longe quem resolveu o quê, e é a cor do balão que amarram na sua cadeira.
8. Avisos e documentos
Duas seções ficam entre você e os problemas, e as duas merecem uma lida antes de começar a programar.
Info & News é o alto-falante da organização: almoço, prorrogação, correção de enunciado. Ninguém precisa perguntar para aquilo aparecer — ele simplesmente surge, e a faixa amarela do topo avisa que há novidade.
Files & Resources é onde os documentos da prova aparecem conforme a organização os publica: o info sheet (o ambiente — compiladores, versões, flags, o que está instalado), a folha de time limits, o caderno de problemas e, depois do fim, o editorial. Cada linha oferece os idiomas em que ela existe (PT, EN…).
9. Clarifications
Uma clarification é uma pergunta aos juízes sobre um problema — em geral uma ambiguidade do enunciado. Você escreve, eles respondem, e a resposta pode ir para todo mundo.
- Escolha o problema (ou General, para algo que não é de um problema específico) e escreva a pergunta. Seja específico: “no B, o labirinto pode ter mais de uma saída?” é respondível; “não entendi o B” não é.
- Os juízes não veem quem perguntou. Eles veem só a pergunta. O juiz-chefe e o administrador veem o seu login e o seu nome. O relatório público não mostra quem perguntou.
- Resposta pública vai para todos. Se a sua pergunta serve à sala, a resposta aparece para todos os times; se é só do seu caso, só você a vê. É por isso que a lista tem respostas que você não pediu.
- Só com a prova em andamento. Antes do início e depois do fim o formulário é recusado — os juízes respondem durante a prova. Ler os avisos e as respostas continua aberto.
- “Leia o enunciado” é uma resposta comum — e é resposta de verdade: quer dizer que a informação já está lá.
E a notificação é assim — você não precisa ficar com a página aberta para saber:
10. Ler o placar
Célula resolvida sai na cor do problema: vermelha no C, amarela no E, azul no G. Uma passada de olho na sua linha já diz quais balões você tem. Cada célula é o que o seu time fez naquele problema:
| Célula | O que quer dizer |
|---|---|
na cor do problema, 1/12 | Resolvido na 1ª tentativa, no minuto 12 de prova. |
na cor do problema, 2/45 | Resolvido na 2ª tentativa, no minuto 45 — a primeira estava errada. |
laranja, 2/- | Duas tentativas, não resolvido. Tentativa nunca ganha a cor do balão — essa se conquista. |
| vazia | Nunca tentou. |
| ★ | Primeiro time a resolver aquele problema em toda a prova — a célula ainda ganha um anel em volta. |
A classificação é por Total (problemas resolvidos) primeiro. No empate, ganha quem tem a menor Pen. — e a penalidade é a soma, sobre os problemas resolvidos, do minuto da submissão aceita mais uma multa fixa por cada tentativa errada anterior. Tentativa errada em problema que você nunca resolveu não custa nada.
11. Impressão, backup e CLI
Impressão
Ler código no papel pega o que a tela esconde. Na aba Printing você escolhe o arquivo (código-fonte, texto, imagem ou PDF, até 10 MB) e aperta Request printing: a equipe de sala imprime e leva até a sua mesa. Sai com uma folha de rosto com o nome do seu time e um número de conferência, para nada ser entregue na mesa errada. Código-fonte sai em fonte monoespaçada, com a sua indentação e as linhas numeradas, e cada página repete o login do seu time e o nome do arquivo — uma folha que se solta do bolo ainda acha o caminho de volta até você.
Backup
A aba Backup é uma gaveta sua no servidor: escolha um arquivo, aperte Store file, e ele fica lá para você baixar de volta quando quiser. Serve para não perder trabalho — a versão que estava funcionando antes de você reescrever tudo, a máquina que resolve morrer no minuto 150. Não conta como submissão e mais ninguém vê. Guardar só funciona com a prova em andamento: antes do início e depois do fim o servidor recusa o arquivo; baixar o que já está lá funciona sempre.
⌨ A CLI do competidor
Existe um cliente de terminal, moj-comp, que envia e acompanha veredictos e
placar sem navegador, e que aguenta queda de rede (guarda a submissão assinada com o
horário e entrega quando o link volta). Ele nem sempre está habilitado: se vale
ou não naquela prova é decisão da organização do evento, e é dela que essa informação
vem — não presuma que está ligado. Veja
a página da CLI.
11½. Depois da prova: refazer (participação virtual)
Algumas provas, depois de encerradas, oferecem a participação virtual. Você refaz a prova inteira com relógio, contra o placar oficial: cada time resolve cada problema no mesmo minuto em que resolveu na prova de verdade. Ela não fica dentro do contest — mora no site principal e usa a sua conta do Treino Livre.
- Onde: o botão Virtual no card do contest encerrado (página inicial e arquivo de contests), ou o link no placar da prova.
- Uma participação por conta por prova. Comece agora ou agende um horário.
- Você pode desistir sem gravar nos primeiros 15 minutos, ou enquanto não tiver nenhum problema aceito — no máximo duas vezes. Depois disso a largada é definitiva.
- No fim, a sua linha fica no placar virtual, marcada como virtual. Ela nunca muda o resultado oficial.
- Nem toda prova oferece: quem decide é a organização, e ela só existe quando todos os problemas já são públicos.
12. Resumo
| Quando | O que fazer |
|---|---|
| No aquecimento | Entre, abra um problema e veja se você tem o editor do navegador — e, se não tiver, qual editor da máquina você vai usar. Envie algo de propósito. Leia o info sheet. |
| Durante | Clique na linha para abrir o enunciado, envie, acompanhe o veredicto. Peça clarification quando o enunciado for mesmo ambíguo. |
| Faixa amarela apareceu | Leia — ou é aviso da organização, ou é clarification respondida. |
| Placar parou | Está congelado, não quebrado. Suas submissões seguem sendo julgadas. |
| Antes de reescrever a solução | Guarde a versão que funciona na gaveta do Backup. |
📖 Como enviar (entrada, saída e o código inicial de cada linguagem) · Manual completo do competidor · ⌨ CLI do competidor · Os outros papéis →